package com.hsnn.medstgmini.pro.base.dao;

import java.util.List;
import java.util.Map;

import com.hsnn.medstgmini.util.Pagination;

/**
 * @category  采购统计
 * @author 应晓川
 * @date 2015年11月27日10:07:01
 */
public interface AnaDruginfoDao {

	/**
	 * 
	 *@category 按药品汇总统计（每日）
	 *@author lil
	 *@date 2015年12月4日 
	 *@param 
	 *@return Pagination
	 */
	Pagination getAnaByDrugs(Pagination page);
	
	Pagination getAnaByHosp(Pagination page);
	
	Pagination getAnaByArea(Pagination page);
	/**
	 * 
	 *@category 获取药品采购统计,跳向按地区查询数据
	 *@author 邱磊
	 *@date 2015年12月3日 上午10:06:50
	 *@param 
	 *@return Pagination
	 */
	public Pagination getAnaByAreaWithYear(Pagination page);
	public Pagination getAnaByAreaWithSea(Pagination page);
	public Pagination getAnaByAreaWithMon(Pagination page);
	Pagination getAnaCompinfoByArea(Pagination page);
	/**
	 * 
	 *@category 获取药品采购统计,跳向按地区查询数据
	 *@author 邱磊
	 *@date 2015年12月3日 上午10:06:50
	 *@param 
	 *@return Pagination
	 */
	public Pagination getAnaCompinfoByAreaWithYear(Pagination page);
	public Pagination getAnaCompinfoByAreaWithSea(Pagination page);
	public Pagination getAnaCompinfoByAreaWithMon(Pagination page);

	Pagination getMonthAnaByHosp(Pagination page);


	Pagination getSeaAnaByHosp(Pagination page);

	Pagination getYearAnaByHosp(Pagination page);
	
	/**
	 * @category 获取前7天的药品采购总量日汇总信息
	 * @date 2015-12-2
	 * @author lil
	 * @return List<Map<String, String>>
	 */
	List<Map<String, Object>> getAnaTotalByTime();
	
	/**
	 * @category 获取药品采购月汇总信息
	 * @date 2015-12-3
	 * @param page
	 * @return
	 */
	Pagination getAnaByDrugsMonth(Pagination page);
	Pagination getAnaByDrugsMonthPool(Pagination page);
	
	/**
	 * @category 获取前7月的药品采购总量月汇总信息
	 * @date 2015-12-3
	 * @author lil
	 * @return List<Map<String, String>>
	 */
	List<Map<String, Object>> getAnaChartByAllMonth(Pagination page);
	
	/**
	 * @category 获取药品采购季度汇总信息
	 * @date 2015-12-3
	 * @param page
	 * @return
	 */
	Pagination getAnaByDrugsSea(Pagination page);
	
	/**
	 * @category 前七个季度总体情况
	 * @date 2015-12-22
	 * @author lil
	 * @return List<Map<String, String>>
	 */
	List<Map<String, Object>> getAnaChartByAllSea();
	
	/**
	 * @category 获取药品采购年汇总信息
	 * @date 2015-12-3
	 * @param page
	 * @return
	 */
	Pagination getAnaByDrugsYear(Pagination page);
	
	/**
	 * @category 前七年总体采购情况
	 * @date 2015年12月22日
	 * @author lil
	 * @param page
	 * @return
	 */
	List<Map<String, Object>> getAnaChartByAllYear();

	List<?> getAnaTotalLastYear(Pagination page);

	List<?> getAnaTotalYesterday();

	List<?> getAnaTotalLastMonth(Pagination page);
	List<?> getAnaTotalLastMonths(Pagination page);

	List<?> getAnaTotalLastQuarter(Pagination page);

	Pagination getAnaByComp(Pagination page);

	Pagination getYearAnaByComp(Pagination page);

	Pagination getSeaAnaByComp(Pagination page);

	Pagination getMonthAnaByComp(Pagination page);

	List<?> getAnaTotalByCompLastYear(Pagination page);

	List<?> getAnaTotalByCompYesterday();

	List<?> getAnaTotalByCompLastMonth(Pagination page);

	List<?> getAnaTotalByCompLastQuarter(Pagination page);

	List<?> getHomeChartData();
	
	/**
	 * @category 获取药品采购总量日汇总列表信息
	 * @date 2015-12-3
	 * @author lil
	 * @return List<Map<String, String>>
	 */
	Pagination getAnaListByTime(Pagination page);
	
	/**
	 * @category 采购总体情况汇总信息（月度）
	 * @date 2015-12-3
	 * @author lil
	 * @param page
	 * @return
	 */
	Pagination getAnaByAllMonth(Pagination page);
	
	
	/**
	 * @category 采购总体情况汇总信息（季度）
	 * @date 2015-12-3
	 * @author lil
	 * @param page
	 * @return
	 */
	Pagination getAnaByAllSea(Pagination page);
	
	/**
	 * @category 采购总体情况汇总信息（年度）
	 * @date 2015年12月22日
	 * @author lil
	 * @param page
	 * @return
	 */
	Pagination getAnaByAllYear(Pagination page);
	
	/**
	 * @category 获取地区每日销售量前十的地区信息
	 * @date 2015-12-4
	 * @author lil
	 * @return List<Map<String, String>>
	 */
	List<Map<String, Object>> getAnaChartByArea(Pagination page);
	

	/**
	 * @category 获取地区销售量前十的上一月地区信息
	 * @date 2015-12-4
	 * @author lil
	 * @return List<Map<String, String>>
	 */
	List<Map<String, Object>> getAnaChartByAreaWithMon(Pagination page);
	/**
	 * @category 获取医疗销售量前十的上一月地区信息
	 * @date 2015-12-4
	 * @author lil
	 * @return List<Map<String, String>>
	 */
	List<Map<String, Object>> getMonthAnaByHosps(Pagination page);
	
	/**
	 * @category 获取地区销售量前十的上一季度地区信息
	 * @date 2015-12-4
	 * @author lil
	 * @return List<Map<String, String>>
	 */
	List<Map<String, Object>> getAnaChartByAreaWithSea(Pagination page);
	
	/**
	 * @category 获取地区销售量前十的上一年地区信息
	 * @date 2015-12-4
	 * @author lil
	 * @return List<Map<String, String>>
	 */
	List<Map<String, Object>> getAnaChartByAreaWithYear(Pagination page);
	
	/**
	 * @category 获取药品每日销售量前十的地区信息
	 * @date 2015-12-4
	 * @author lil
	 * @return List<Map<String, String>>
	 */
	List<Map<String, Object>> getAnaChartByDrugs();
	
	/**
	 * @category 获取药品销售量前十的上一月地区信息
	 * @date 2015-12-4
	 * @author lil
	 * @return List<Map<String, String>>
	 */
	List<Map<String, Object>> getAnaChartByDrugsMon(Pagination page);
	
	/**
	 * @category 获取药品销售量前十的上一季度地区信息
	 * @date 2015-12-4
	 * @author lil
	 * @return List<Map<String, String>>
	 */
	List<Map<String, Object>> getAnaChartByDrugsSea(Pagination page);
	
	/**
	 * @category 获取药品销售量前十的上一年地区信息
	 * @date 2015-12-4
	 * @author lil
	 * @return List<Map<String, String>>
	 */
	List<Map<String, Object>> getAnaChartByDrugsYear(Pagination page);
	
	Pagination getAnaByDrugsSeaNoPage(Pagination page);
	Pagination getAnaByDrugsYearNoPage(Pagination page);
	
	/**
	 * @category 采购总体情况汇总信息无分页（月度）
	 * @date 2015年12月22日
	 * @author lil
	 * @param page
	 * @return
	 */
	Pagination getAnaByAllMonthNoPage(Pagination page);
	
	
	/**
	 * @category 采购总体情况汇总信息无分页（季度）
	 * @date 2015年12月22日
	 * @author lil
	 * @param page
	 * @return
	 */
	Pagination getAnaByAllSeaNoPage(Pagination page);
	
	/**
	 * @category 采购总体情况汇总信息无分页（年度）
	 * @date 2015年12月22日
	 * @author lil
	 * @param page
	 * @return
	 */
	Pagination getAnaByAllYearNoPage(Pagination page);
	
	/**
	 * @category 按企业统计无分页(年)
	 * @date 2015年12月1日10:55:55
	 * @return
	 */
	Pagination getYearAnaByCompNoPage(Pagination page);
	
	/**
	 * @category 按企业统计无分页(季度)
	 * @date 2015年12月1日10:55:55
	 * @return
	 */
	Pagination getSeaAnaByCompNoPage(Pagination page);
	
	/**
	 * @category 按企业统计无分页(月)
	 * @date 2015年12月1日10:55:55
	 * @return
	 */
	Pagination getMonthAnaByCompNoPage(Pagination page);
	
	List<Map<String, Object>> getMonthAnaByHospNoPage(Pagination page);
	List<Map<String, Object>> getSeaAnaByHospNoPage(Pagination page);
	List<Map<String, Object>> getYearAnaByHospNoPage(Pagination page);
	

	/**
	 * @category 地区采购情况统计无分页(月)
	 * @date 2015年12月1日10:55:55
	 * @author lil
	 * @return
	 */
	Pagination getAnaByAreaWithYearNoPage(Pagination page);
	
	/**
	 * @category 地区采购情况统计无分页(季度)
	 * @date 2015年12月1日10:55:55
	 * @author lil
	 * @return
	 */
	Pagination getAnaByAreaWithSeaNoPage(Pagination page);
	
	/**
	 * @category 地区采购情况统计无分页(年度)
	 * @date 2015年12月1日10:55:55
	 * @author lil
	 * @return
	 */
	Pagination getAnaByAreaWithMonNoPage(Pagination page);
	
	/**
	 * @category 获取前7月的卫生局药品采购总量月汇总信息
	 * @date 2015-12-3
	 * @author lil
	 * @return List<Map<String, String>>
	 */
	List<Map<String, Object>> getAnaChartByWsjAllMonth(Pagination page);
	
	/**
	 * @category 前七个季度卫生局总体情况
	 * @date 2015-12-22
	 * @author lil
	 * @return List<Map<String, String>>
	 */
	List<Map<String, Object>> getAnaChartByWsjAllSea(String areaId);
	
	/**
	 * @category 前七年卫生局总体采购情况
	 * @date 2015年12月22日
	 * @author lil
	 * @param page
	 * @return
	 */
	List<Map<String, Object>> getAnaChartByWsjAllYear(String areaId);
	
	List<Map<String, Object>> getChartAnaHospdruginfoTotal(Pagination page);

	/**
	 * @category 配送企业药品统计信息
	 * @date 2015年12月1日10:55:55
	 * @author lil
	 * @return
	 */
	Pagination getAnaDelByDrug(Pagination page, String type);
	
	Pagination getAnaHospdruginfoTotal(Pagination page);
	Pagination getAnaAreadruginfoTotal(Pagination page);
	Pagination getAnaAreadruginfoTotalPool(Pagination page);
	Pagination getAnaDeldruginfoTotal(Pagination page);
	Pagination getAnaDeldruginfoTotalPool(Pagination page);
	Pagination getAnaProddruginfoTotal(Pagination page);
	Pagination getAnaProddruginfoTotalPool(Pagination page);
	
	
	/**
	 * @category 地区采购情况跳转
	 * @date 2015年12月1日10:55:55
	 * @author lil
	 * @return
	 */
	Pagination getAnaByAreaTz(Pagination page);
	
	/**
	 * @category 生产企业采购情况
	 * @date 2015年12月1日10:55:55
	 * @author lil
	 * @return
	 */
	Pagination getAnaByProdcomp(Pagination page, String type);
	
	
	/**
	 * @category 获取生产企业采购情况排名数据（月）
	 * @date 2015年12月1日10:55:55
	 * @author lil
	 * @return
	 */
	List<Map<String, Object>> getAnaByProdcompChartWithMon(Pagination page);
	
	
	
	
	/**
	 * @category 通体采购情况跳转采购药品(月度)
	 * @date 2015-12-3
	 * @param page
	 * @return
	 */
	Pagination getAnaByAllToDrugMon(Pagination page);


	Pagination getAnaDelByDrugExport(Pagination page, String type);

	
	Pagination getAnaHospdruginfoTotalByDrugPool(Pagination page);
	Pagination getAnaHospdruginfoTotalByDrug(Pagination page);
	
	/**
	 * @category 地区采购情况跳转无分页
	 * @date 2015年12月1日10:55:55
	 * @author lil
	 * @return
	 */
	Pagination getAnaByAreaTzNoPage(Pagination page);
		
	/**
	 * @category 总体采购情况跳转
	 * @date 2015年12月1日10:55:55
	 * @author lil
	 * @return
	 */
	Pagination getAnaByAllTz(Pagination page);
	
	/**
	 * @category 总体采购情况跳转无分页
	 * @date 2015年12月1日10:55:55
	 * @author lil
	 * @return
	 */
	Pagination getAnaByAllTzNoPage(Pagination page);

	Pagination getAnaCompinfoByAreaWithMonExport(Pagination page);

	Pagination getAnaDelByHosp(Pagination page);

	Pagination getAnaDelByHospExport(Pagination page);

	Pagination getAnaDelByProdCompExport(Pagination page);

	Pagination getAnaDelByProdComp(Pagination page);
	
	
	/**
	 * @category 生产企业采购情况跳转
	 * @date 2015年12月1日10:55:55
	 * @author lil
	 * @return
	 */
	Pagination getAnaByProdcompTz(Pagination page);
	
	
	
	
	/**
	 * @category 医院跳转至配送企业(时间点)
	 * @date 2015年12月28日14:34:47
	 * @author 应晓川
	 * @return
	 */
	Pagination getAnaHospitalCompMon(Pagination page);
	
	/**
	 * @category 医院跳转至配送企业(时间段)
	 * @date 2015年12月28日14:34:47
	 * @author 应晓川
	 * @return
	 */
	Pagination getAnaHospitalCompMonPool(Pagination page);
	
	/**
	 * @category 医院跳转至生产企业(时间点)
	 * @date 2015年12月28日14:34:47
	 * @author 应晓川
	 * @return
	 */
	Pagination getAnaHospitalProdcompMon(Pagination page);

	/**
	 * @category 医院跳转至生产企业(时间段)
	 * @date 2015年12月28日14:34:47
	 * @author 应晓川
	 * @return
	 */
	Pagination getAnaHospitalProdcompMonPool(Pagination page);
	
	/**
	 * @category 生产企业采购情况跳转三级
	 * @date 2015年12月1日10:55:55
	 * @author lil
	 * @return
	 */
	Pagination getAnaByProdcompTzThree(Pagination page);
	Pagination getAnaDelByDrugHospWithMon(Pagination page, String type);

	Pagination getAnaDelByHospDrugWithMon(Pagination page, String type);

	Pagination getAnaDelByProdCompDrugWithMon(Pagination page, String type);

}
